
class TestEventBus{

  //私有构造函数  //注意单例怎么写，统一的三板斧：私有构造+static变量+工厂构造函数
  TestEventBus._internal();
  //保存单例
  static final TestEventBus _singleton = TestEventBus._internal();

  //工厂构造函数
  factory TestEventBus()=> _singleton;
}

//定义一个top-level（全局）变量，页面引入该文件后可以直接使用bus
var testBus = TestEventBus();


class Singleton{
  //保存单例
  static Singleton _instance = Singleton._();

  //工厂构造函数
  factory Singleton() => _instance;

  //私有构造函数
  Singleton._();

  static Singleton getInstance(){
    _instance = Singleton._();
    return _instance;
  }
}
